import java.math.*;
public class trikampis{
  private double a;
  private double b;
  private double c;
  private double alfa;
  private double beta;
  private double gama;

  public trikampis(double x, double y, double z, double xx, double yy, double zz){
a = x; b = y; c = z; alfa = xx; beta = yy; gama = zz;
  }

  public double aukstinea(){
    return(c*Math.sin(beta*Math.PI/180));
  }
  public double aukstineb(){
    return(a*Math.sin(gama*Math.PI/180));
  }
  public double aukstinec(){
    return(b*Math.sin(alfa*Math.PI/180));
  }
  public double perimetras(){
    return(a + b + c);
  }
  public double plotas(){
    return(a*b*Math.sin(gama*Math.PI/180));
  }
  public double apskritimor(){
    return(plotas()/((a+b+c)/2));
  }
  public double apskritimoR(){
    return(a*b*c/4*plotas());
  }
  public boolean artelpar(double r){
    return(r <= apskritimor());
  }
  public boolean artelpaR(double R){
    return(R >= apskritimoR());
  }
  public double panasumosk(){
    return(alfa * beta * gama);
  }
  public boolean status(){
    return((alfa == 90) || (beta == 90) || (gama == 90));
  }
  public boolean bukas(){
    return((alfa > 90) || (beta > 90) || (gama > 90));
  }
  public boolean smailas(){
    return(!status() && !bukas());
  }
  public double koksa(){
    return(this.a);
  }
  public double koksb(){
    return(this.b);
  }
  public double koksc(){
    return(this.c);
  }
  public double koksalfa(){
    return(this.alfa);
  }
  public double koksbeta(){
    return(this.beta);
  }
  public double koksgama(){
    return(this.gama);
  }
}
import java.math.*;

public class demotrikampis{
  public static void main(String[] args){

  trikampis t1 = new trikampis(2, 2, 2, 60, 60, 60);
  trikampis t2 = new trikampis(3, 4, 5, 37, 53, 90);

  System.out.println("Demonstracine programa metodams kurie gali suteikti naudingos informacijos apie trikampi");
  System.out.println("Nagrinekime lygiasoni trikampi...");
  System.out.println("Galime gauti visu trikampio aukstiniu ilgius:");
  System.out.println("aukstine is a krastines " + t1.aukstinea());
  System.out.println("aukstine is b krastines " + t1.aukstineb());
  System.out.println("aukstine is c krastines " + t1.aukstinec());
  System.out.println("Galime gauti trikampio plota " + t1.plotas() + " ir perimetra " + t1.perimetras());
  System.out.println("Taip pat patikrinti ar tilps ibreztinis apskritimas kurio r yra pvz 1: " + t1.artelpar(1) + " arba 2: " + t1.artelpar(2));
  System.out.println("Analogiskai galime patikrinti ir apibreztini apskritima...");
  System.out.println("Paikrinkime kokie yra musu trikampiai:");
  System.out.println("pirmasis, kurio a = " + t1.koksa() + ", b = " + t1.koksb() + ", c = " + t1.koksc() + ", o kampai lygus: " + t1.koksalfa() + " " + t1.koksbeta() + " " + t1.koksgama());
  System.out.println("status: " + t1.status() + ", bukas: " + t1. bukas() + ", smailas: " + t1.smailas());
  System.out.println("antrasis, kurio a = " + t2.koksa() + ", b = " + t2.koksb() + ", c = " + t2.koksc() + ", o kampai lygus: " + t2.koksalfa() + " " + t2.koksbeta() + " " + t2.koksgama());
  System.out.println("status: " + t2.status() + ", bukas: " + t2. bukas() + ", smailas: " + t2.smailas());
  System.out.println("ar jie panasus? " + (t1.panasumosk() == t2.panasumosk()));
 }
}

